#include<cstdio>
#include<vector>
#include<cmath>

using namespace std;
struct node{
    double data;
    vector<int> child;
};

vector<node> v;
double ans = 0.0, p, r;

void dfs(int index, int depth){
    if(v[index].child.size() == 0){
        ans += v[index].data * pow(1+r, depth);
        return ;
    }
    for(int i = 0; i < v[index].child.size(); i++)
        dfs(v[index].child[i], depth+1);
}

int main(){
    int n, k, c;
    scanf("%d %lf %lf", &n, &p, &r);
    r = r / 100;
    v.resize(n);
    for(int i = 0; i < n; i++){
        scanf("%d", &k);
        if(k == 0){
            scanf("%lf", &v[i].data);
        }else{
            for(int j = 0; j < k; j++){
                scanf("%d", &c);
                v[i].child.push_back(c);
            }
        }
    }
    dfs(0,0);
    printf("%.1f", ans * p);
    return 0;
}
